﻿using COMPONENT.Dao;
using COMPONENT.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;

namespace COMPONENT.BL
{
    public class clsReglaNegocio
    {
        private clsReglaNegocio()
        {

        }

        private static clsReglaNegocio instancia = null;
        public static clsReglaNegocio Instancia
        {
            get
            {
                if (instancia == null)
                {
                    instancia = new clsReglaNegocio();
                }
                return instancia;
            }
        }



        public clsUsuario Usuario_Validar(string email, string password)
        {
            clsUsuario objUser = new clsUsuario();
            if (!string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(password))
            {
                objUser = clsUsuarioDAO.Instancia.ValidarUsuario(email, password);
            }
            return objUser;
        }
        public DataTable ListarClientes()
        {
            return clsUsuarioDAO.Instancia.ListarClientes();
        }

        public bool GuardarCliente(clsCliente objcliente)
        {
            bool success = false;
            if (objcliente != null)
            {
                success = clsClienteDAO.Instancia.GuardarCliente(objcliente);
            }
            return success;
        }

        public List<clsCasa> ListarCasas(int idUsuario)
        {
            return clsCasaDAO.Instancia.ListarCasas(idUsuario);
        }

        public clsCasa BuscarCasaxId(int idCasa) {
            return clsCasaDAO.Instancia.BuscarCasaxId(idCasa);
        }

        public List<clsTipoDispositivo> ListarTipoDispositivos()
        {
            return clsTipoDispositivoDAO.Instancia.ListarTipoDispositivos();
        }

        public List<clsTipoEscenario> ListarTipoEscenarios()
        {
            return clsTipoEscenarioDAO.Instancia.ListarTipoEscenarios();
        }

        public List<clsEscenario> ListarEscenarioxTipoxCasa(int idTipo, int idCasa)
        {
            return clsEscenarioDAO.Instancia.ListarEscenarioxTipoxCasa(idTipo,idCasa);
        }

        public List<clsDEscenarioDispositivo> ListarDispositivoxEscenario(int idEscenario)
        {
            return clsDEscenarioDispositivoDAO.Instancia.ListaDispositivoxEscenario(idEscenario);
        }

        public bool ActualizarEstadoDisp(int idDetDisp) {
            return clsDEscenarioDispositivoDAO.Instancia.ActualizarEstadoDispositivo(idDetDisp);
        }


    }
}
